﻿using System;

// ТИПЫ ДАННЫХ, ПРИВЕДЕНИЯ ТИПОВ ДАННЫХ

class FindRadius
{
    public static void Main()
    {
        double d;
        for (d = 1.0; d < 10; d++)
        {
            Console.WriteLine("Корень числа {0} равен: {1}", d, Math.Sqrt(d));
            Console.WriteLine("Целая часть числа равна: {0}", (int)Math.Sqrt(d));
            Console.WriteLine("Дробная часть числа равно: {0}", Math.Sqrt(d) - (int)Math.Sqrt(d));
        }
        Console.ReadLine();
    }

    // Работа с типом double
    private void Radian()
    {
        double theta; // Угол в радианах

        for (theta = 0.1; theta <= 1; theta += 0.1)
        {
            Console.WriteLine("Косинус угла " + theta + "равен " + Math.Cos(theta));
            Console.WriteLine("Синус угла " + theta + "равен " + Math.Sin(theta));
            Console.WriteLine("Таншенс угла " + theta + "равен " + Math.Tan(theta));
        }
        Console.ReadLine();
    }

    // Работа с типом decimial для вычисления скидки
    private void DiscountPrice()
    {
        decimal price, discount, discount_price;

        price = 198.95m; // m - обозначает литерал типа decimial
        discount = 0.15m;

        discount_price = price - (price * discount);

        Console.WriteLine("Скидка равна " + discount_price);
        Console.ReadLine();
    }

    // Работа с decimial для вычисления капиталовложения через 10 лет
    private void FutureCapital()
    {
        decimal amount, rate_of_return;
        int years = 10;

        amount = 1000m;
        rate_of_return = 0.07m;

        Console.WriteLine("Начальный капитал - " + amount + "$");
        Console.WriteLine("Процентная ставка - " + rate_of_return + "%");

        for (int i = 0; i < years; i++)
        {
            amount = amount + (amount * rate_of_return);
        }

        Console.WriteLine("Итоговая выручка равна " + amount + "$");
        Console.ReadLine();
    }

    // Форматирование строки в Console.WriteLine
    private void FormatConsole()
    {
        Console.WriteLine("Число\tКорень\tКуб\t");
        for (double i = 0.1; i < 10; i++)
        {
            // Форматирование десятичных долей
            Console.WriteLine("{0:#.##}\t{1:#.##}\t{2:#.##}", i, i * i, i * i * i);

            // Обычное отображение
            Console.WriteLine("{0}\t{1}\t{2}", i, i * i, i * i * i);
        }
        Console.ReadLine();
    }

    // Приведение типов в выражениях.
    private void DynConvertTypes()
    {
        double d;
        for (d = 1.0; d < 10; d++)
        {
            Console.WriteLine("Корень числа {0} равен: {1}", d, Math.Sqrt(d));
            Console.WriteLine("Целая часть числа равна: {0}", (int)Math.Sqrt(d));
            Console.WriteLine("Дробная часть числа равно: {0}", Math.Sqrt(d) - (int)Math.Sqrt(d));
        }
        Console.ReadLine();
    }
    
}